集群上安装高版本gcc(以及解决 ‘HOST

您所在的位置:网站首页 amazon linux 2 装gcc 集群上安装高版本gcc(以及解决 ‘HOST

集群上安装高版本gcc(以及解决 ‘HOST

2023-08-05 06:07| 来源: 网络整理| 查看: 265

背景:学校集群上的GCC版本太低(4.8),项目需要5.0及以上,所以接下来要升级GCC。但是不是root用户,所以需要下载gcc源码然后编译安装到自己的目录下。

参考了https://blog.csdn.net/weixin_42090356/article/details/90678158的内容,然后根据自己经历进行了补充。

(建议先尝试网上其他大佬们写的安装gcc的步骤,如果不行,遇到了题目里面的错误,再来参考我的过程)

1.下载gcc的源码包

wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz2.解压缩

tar -xzvf gcc-9.1.0.tar.gz

3.进入解压缩后目录

cd gcc-9.1.0

4.运行download_prerequisites脚本,这个脚本会自动帮你下载所需要的依赖文件和库

./contrib/download_prerequisites

5.建立输出目录,将所有的中间文件都放到该目录

mkdir gcc-build-9.1.0

cd gcc-build-9.1.0

6.执行

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=$HOME/dataset/zhoub/gcc-9.1.0

$HOME/dataset/zhoub要替换成你自己到gcc-9.1.0文件夹的路径

--prefix=$HOME/dataset/zhoub/gcc-9.1.0很重要,因为是在集群上的非root用户,所以要通过这个命令指定将编译文件将编译文件(以及后续的编译安装过程)放在自己的目录下,不这样的话到安装的时候需要用户有root权限

7.重置一些环境变量,否则编译的时候会报一堆找不到文件的错误( 比如‘HOST_WIDE_INT’ does not name a type,fatal error: braced spec 。。以及各种看不懂搜不到的错误,至于为什么这样,我也不知道,也没搜到答案,偶然搜到下面这样的做法,试了一下竟然就没问题了)

unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE

8.检查环境变量重置的效果,如果为空就重置成功了

echo $LIBRARY_PATH

9.编译

make -j4

-j4表示4个核心并行编译?不加-j4也行,但是编译过程会超级慢(听说要3-4个小时)

10.安装

make install

11.为当前用户配置环境变量,切换当前用户的目录,运行以下命令

vi ~/.bashrc

12.在.bashrc末尾加入下面的代码

export PATH=/path/to/install/gcc-5.4/bin:/path/to/install/gcc-5.4/lib64:$PATH

export LD_LIBRARY_PATH=/path/to/install/gcc-5.4/lib/:$LD_LIBRARY_PATH

13.激活环境变量

source ~/.bashrc

14.测试gcc版本

gcc -v

大功告成。祝您也成功!

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3